/*
 *  Arrow
 *
 *  Created by David Giovannini on 1/5/07.
 *  Copyright 2007 Software by Jove. All rights reserved.
 *
 */

#include "SBJ/Thread/Stamp.h"

namespace SBJ
{

Stamp::Version::Version( void )
#if defined( _DEBUG )
: debug( true )
#else
: debug( false )
#endif
{
	::memset( &file, 0, sizeof( file ) );
	::memset( &product, 0, sizeof( product ) );
}

Stamp::Stamp( void )
: m_time( 0 )
, m_threadID( 0 )
{
}

Stamp::~Stamp( void )
{
}

void
Stamp::reset( void )
{
	m_threadID = 0;
	m_time = 0;
}

const Stamp::Time&
Stamp::getTime( void ) const
{
	return m_time;
}

int
Stamp::getThreadId( void ) const
{
	return m_threadID;
}

int
Stamp::getProcessId( void )
{
	return 0;
}

const std::string&
Stamp::getProcessName( void )
{
	static const std::string p;
	return p;
}

const std::string&
Stamp::getProcessPathName( void )
{
	static const std::string pn;
	return pn;
}

const Stamp::Version&
Stamp::getProcessVersion( void )
{
	static  Stamp::Version v;
	return v;
}

const std::string&
Stamp::getComputerName( void )
{
	static const std::string cn;
	return cn;
}

}